﻿#region 참조 네임스페이스

using System;

#endregion

namespace Skying.Net.Sockets
{
	/// <summary>
	/// <see cref="Nts.Net.Sockets.BaseSocket"/>에 대한 통신 방식을 열거한다.
	/// </summary>
	/// <remarks>
	/// <para>이 열거형에 의해 정해지는 통신 방식에 의해 <see cref="Nts.Net.Sockets.BaseSocket"/>이 통신할 수 있는 방식이 정해진다.</para>
	/// <para>예를 들어, <see cref="Nts.Net.Sockets.TransferType.Receive"/>로 설정되면 해당 소켓은 수신만 가능하다.</para>
	/// <para>반대로 <see cref="Nts.Net.Sockets.TransferType.Send"/>로 설정되면 해당 소켓은 송신만 가능하다.</para>
	/// <para>양방향 통신을 다 지원해야 하는 경우에는 <see cref="Nts.Net.Sockets.TransferType.Both"/>로 설정하면 된다.</para>
	/// </remarks>
	[Obsolete("Not used anymore", true)]
	[Flags]
	public enum TransferType : byte
	{
		/// <summary>
		/// <see cref="Nts.Net.Sockets.BaseSocket"/>을 상속하여 구현된 소켓은 수신만 가능하다.
		/// </summary>
		Receive = 0x01,

		/// <summary>
		/// <see cref="Nts.Net.Sockets.BaseSocket"/>을 상속하여 구현된 소켓은 송신만 가능하다.
		/// </summary>
		Send = 0x02,

		/// <summary>
		/// <see cref="Nts.Net.Sockets.BaseSocket"/>을 상속하여 구현된 소켓은 송수신 양방향 통신을 한다.
		/// </summary>
		Both = Receive | Send,
	}
}